//
//  ViewController.m
//  SDAutoLayoutDemo
//
//  Created by xiewei on 16/6/19.
//  Copyright © 2016年 xiewei. All rights reserved.
//

#import "ViewController.h"
#import "XWCell.h"
#import "UIView+SDAutoLayout.h"
#import "UITableView+SDAutoTableViewCellHeight.h"

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

@interface ViewController () <UITableViewDataSource,UITableViewDelegate>

@property (nonatomic,strong) UITableView *tableview;
@property (nonatomic,strong) NSMutableArray *mArr;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.tableview.dataSource = self;
    self.tableview.delegate = self;
    
    self.tableview.rowHeight = 100;
}

#pragma mark - UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.mArr count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    XWCell *cell = [XWCell xwcellWithTableView:tableView];
    cell.text = self.mArr[indexPath.row];
    
    return cell;
}

#pragma mark - UITableViewDelegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *str = self.mArr[indexPath.row];
    
    /// 3）cell自适应高度步骤3
    return [self.tableview cellHeightForIndexPath:indexPath model:str keyPath:@"text" cellClass:[XWCell class] contentViewWidth:[self cellContentViewWith]];
}

- (CGFloat)cellContentViewWith {
    CGFloat width = [UIScreen mainScreen].bounds.size.width;
    
    // 适配ios7横屏
    if ([UIApplication sharedApplication].statusBarOrientation != UIInterfaceOrientationPortrait && [[UIDevice currentDevice].systemVersion floatValue] < 8) {
        width = [UIScreen mainScreen].bounds.size.height;
    }
    return width;
}
            


#pragma mark - 懒加载
- (UITableView *)tableview {
    if (_tableview == nil) {
        _tableview = [[UITableView alloc] init];
        _tableview.backgroundColor = [UIColor redColor];
        [self.view addSubview:_tableview];
        
        _tableview.sd_layout.widthIs(SCREEN_WIDTH).heightIs(SCREEN_HEIGHT - 20).topSpaceToView(self.view,20).leftSpaceToView(self.view,0);
    }
    return _tableview;
}
- (NSMutableArray *)mArr {
    if (_mArr == nil) {
        _mArr = [[NSMutableArray alloc] init];
        
        for (NSInteger i = 0; i < 10; i++) {
            NSString *str = nil;
            if (i % 2 == 0) {
                str = [NSString stringWithFormat:@"%ld) 推出“普通简化版”tableview的cell自动高度方法（推荐使用），原来的需2步设置的普通版方法将标记过期推出“普通简化版”tableview的cell自动高度方法（推荐使用），原来的需2步设置的普通版方法将标记过期推出“普通简化版”tableview的cell自动高度方法（推荐使用），原来的需2步设置的普通版方法将标记过期推出“普通简化版”tableview的cell自动高度方法（推荐使用），原来的需2步设置的普通版方法将标记过期",i + 1];
            } else {
                str = [NSString stringWithFormat:@"%ld) The most easy way for autoLayout.",i + 1];
            }
            
            [_mArr addObject:str];
        }
    }
    return _mArr;
}

@end
